home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d13 / nuf210.arc / NUFIND.DOC < prev    next >
Text File  |  1990-06-14  |  29KB  |  636 lines

  1.                     NUFIND - A Unix FIND Work Alike
  2.                       Version 2.1.0: June 13, 1990
  3.  
  4. Author: Don A Williams
  5.         CompuServ - 75410,543
  6.         GEnie     - DON-WILL
  7.  
  8.  
  9.         *********************  NOTICE  ************************
  10.         *  Contrary to the current trend in MS-DOS  software  *
  11.         *  this  program,  for whatever it is worth,  is NOT  *
  12.         *  copyrighted (with the exception  of  the  runtime  *
  13.         *  library  from  the C compiler)!  The program,  in  *
  14.         *  whole or in part,  may  be  used  freely  in  any  *
  15.         *  fashion or environment desired.  If you find this  *
  16.         *  program  to  be  useful  to you,  do NOT send any  *
  17.         *  contribution to the author;  in the words of Rick  *
  18.         *  Conn,   'Enjoy!'   However,   if   you  make  any  *
  19.         *  improvements,  I would enjoy receiving a copy  of  *
  20.         *  the  modified source.  I can be reached,  usually  *
  21.         *  within 24  hours,  by  messages  on  any  of  the  *
  22.         *  following Phoenix, AZ systems (the Phoenix systems *
  23.         *  can all be reached through StarLink node #9532):   *
  24.         *                                                     *
  25.         *     The Tool Shop BBS       [PCBOARD] [PC-Pursuit]  *
  26.         *         (602) 279-2673   1200/2400/9600 bps         *
  27.         *     Technoids Anonymous     [PCBOARD]               *
  28.         *         (602) 899-4876   300/1200/2400 bps          *
  29.         *         (602) 899-5233                              *
  30.         *         (602) 786-9131                              *
  31.         *     Inn On The Park         [PCBOARD]               *
  32.         *         (602) 957-0631   1200/2400/9600 bps         *
  33.         *     Pascalaholics Anonymous [WBBS]                  *
  34.         *         (602) 484-9356   1200/2400 bps              *
  35.         *                                                     *
  36.         *  or:                                                *
  37.         *     Blue Ridge Express     [RBBS] Richmond, VA      *
  38.         *         (804) 790-1675   2400 bps [StarLink #413]   *
  39.         *                                                     *
  40.         *     The Lunacy BBS         [PCBOARD] Van Nuys, CA   *
  41.         *         (805) 251-7052   2400/9600 [StarLink 6295]  *
  42.         *         (805) 251-8637   2400/9600 [StarLink 6295]  *
  43.         *                                                     *
  44.         *  or:                                                *
  45.         *     GEnie, mail address: DON-WILL                   *
  46.         *     CompuServ:           75410,543                  *
  47.         *                                                     *
  48.         *  Every  effort  has  been  made to avoid error and  *
  49.         *  moderately extensive testing has  been  performed  *
  50.         *  on  this  program,  however,  the author does not  *
  51.         *  warrant it to be fit for any  purpose  or  to  be  *
  52.         *  free  from  error and disclaims any liability for  *
  53.         *  actual or any other damage arising from  the  use  *
  54.         *  of this program.                                   *
  55.         *******************************************************
  56.  
  57.  
  58. NUFIND, Version 2.1.0,  consists entirely of original code or original 
  59. modifications  of  public  domain  code,  replaces earlier versions of 
  60. UFIND,  1.0 through 4.0,  which were  derived  from  Russell  Nelson's 
  61. FINDNEW.  NUFIND  is  a "work alike" for the Berkley Unix FIND command 
  62. with modifications and enhancements for the PC/MS-DOS environment.  It 
  63. is a very powerful disk maintenance program with really  ugly  syntax!  
  64. In  the  Unix  world,  it seems to be used mostly in aliases and shell 
  65. scripts and in the PC/MS-DOS world, I use it mostly in CED synonyms.  
  66.  
  67. Basically,  NUFIND will "walk"  one  or  more  directory  hierarchies, 
  68. selecting   files  according  a  possibly  complex  set  of  specified 
  69. selection criteria,  and executing any of several  "actions"  on  each 
  70. such  file  selected.  Among  the "actions" that may be specified are: 
  71. delete the file,  move the file from one place  in  the  hierarchy  to 
  72. another,  copy  the  file  from one place in the hierarchy to another, 
  73. move a sub-hierarchy (a directory and all subordinate directories  and 
  74. files)  from one place in the hierarchy to another,  print the full or 
  75. relative pathname of each  file  selected,  and  execute  a  specified 
  76. command  one  each selected file.  If a "move" action is specified and 
  77. both the source and destination are on one drive,  NUFIND will perform 
  78. a true "move", i.e.  only the directory entries will be moved, not the 
  79. file content.  If a "move" is specified and the source and destination 
  80. are on different drives,  NUFIND will "automatically" perform  a  copy 
  81. followed by a delete of the source file.  
  82.  
  83. With  the  increasing  popularity  of  Unix on AT class systems and my 
  84. intense frustration with the severely reduced capability of  the  FIND 
  85. of AT&T's System V Release 3,  NUFIND will be ported to Unix, probably 
  86. before it is ported to other PC-based C compilers.  
  87.  
  88.  
  89. NOMENCLATURE:
  90.  
  91. In the following discussion,  "absolute pathname" will mean a standard 
  92. PC/MS-DOS  pathname,  including  the  directories and drive specifier, 
  93. e.g.   "c:\tc\ufind\ufind.c"  is  a  pathname.   The  term   "relative 
  94. pathname"  will mean that portion of the "absolute pathname" following 
  95. the "current directory",  e.g "ufind\ufind.c" would be  the  "relative 
  96. pathname  of  the  preceding  file  if  the  "current  directory" were 
  97. "c:\tc".  The term "filename" will refer to the terminal element in  a 
  98. relative or absolute pathname, e.g.  "ufind.c" would be the "filename" 
  99. of the preceding file.  
  100.  
  101. Items shown in brackets are optional and need  not  be  supplied  (the 
  102. brackets are not entered), e.g. "-n[ame]" means that either "-name" or 
  103. "-n"  will  be accepted as meaning the same thing.  An expression such 
  104. as "filename ..." indicates  that  one  or  more  file  names  may  be 
  105. supplied   but  at  least  one  must  be  supplied.   The  expression, 
  106. "[filename ...]" would indicate that no filenames  must  be  specified 
  107. but that any number may be.  
  108.  
  109.  
  110. USAGE: 
  111.  
  112. The command syntax for NUFIND is:
  113.  
  114.     NUFIND [search paths] [selection criteria] [actions]
  115.  
  116. The  default  search  path  is  the  "current" directory,  the default 
  117. selection criterion is all files,  and the default action is to  print 
  118. the full path name so that a simple command of: 
  119.  
  120.     NUFIND
  121.  
  122. would list the full path name of every file in the "current" directory 
  123. and all subordinate directories.  
  124.  
  125.  
  126. Search Paths:
  127.  
  128. The search paths,  which must be specified before any other arguments, 
  129. may be either relative path names  or  absolute  path  names  and  may 
  130. contain  a drive specifier.  There is no limit on the number of search 
  131. paths that may be specified other than the constraints of memory.  
  132.  
  133. Examples:
  134.  
  135.     NUFIND \
  136.  
  137.     this search path will cause NUFIND to search the entire  hierarchy 
  138.     of the "current" drive, starting from the root ("\").  
  139.  
  140.     NUFIND .
  141.  
  142.     this  search  path  will  cause  NUFIND  to  search  the hierarchy 
  143.     starting with the "current" directory.  
  144.  
  145.     NUFIND c:\ d:\ e:\
  146.  
  147.     this  search  path  will  cause  NUFIND  to  search   the   entire 
  148.     hierarchies of drives C,  D, and E, starting with the root on each 
  149.     drive.  For convenience on PC/MS-DOS systems,  NUFIND  will  allow 
  150.     the specification of multiple device codes for the same path.  For 
  151.     example: 
  152.  
  153.     NUFIND cde:\
  154.  
  155.     would be the same as:
  156.  
  157.     NUFIND c:\ d:\ e:\
  158.  
  159.  
  160.     NUFIND \tc d:\arc
  161.  
  162.     this  search path will cause NUFIND to search the directory,  "tc" 
  163.     on the "current" drive  and  all  of  its  subordinates,  and  the 
  164.     directory "arc" on drive D and all of its subordinates.  
  165.  
  166.  
  167. SELECTION CRITERIA:
  168.  
  169. The  selection  criteria are usually,  but not necessarily,  specified 
  170. immediately after the search  path  specification(s).  Actually,  only 
  171. the  search  path specifications are positional in the current version 
  172. of NUFIND, all other arguments may be specified in any order.  
  173.  
  174. -n[ame] filename ...
  175.     Any file in the searched hierarchy whose name matches one  of  the 
  176.     names  in the list of filenames specified by the -name option will 
  177.     be selected.  The wild card characters "*" and "?" may be included 
  178.     in any of the specified filenames and they will handled by  NUFIND 
  179.     just  as  they  are handled by the DOS DIR command;  i.e.  "*" and 
  180.     "*.*" will match all files,  "*.abc" will match any file  with  an 
  181.     extension of "abc", "*." will match any file that does not have an 
  182.     extension.  The "?", as in DOS, will match any single character.  
  183.     
  184.     Due  to  the  limitation  on command line length in PC/MS-DOS (128 
  185.     bytes), two special forms of the -name option are provided: 
  186.  
  187.     -n[ame] -
  188.  
  189.     If the -name argument is followed by a '-', the list of file names 
  190.     will be read from stdin,  one filename per line.  The list will be 
  191.     terminated by end of file on stdin or by a null line in stdin.  
  192.  
  193.     -n[ame] @pathname
  194.  
  195.     If  the  -name  argument  if  followed  by  a pathname with an '@' 
  196.     prefix,  the list of file names will be read  from  pathname,  one 
  197.     name per line.  The list will be terminated by end of file.  
  198.  
  199.     If  no  -n[ame] argument is specified,  NUFIND will assume "*.*" - 
  200.     all files.  
  201.  
  202. -^n[ame] filename ...
  203.     Any file in the searched hierarchy whose name matches one  of  the 
  204.     names  in  the  list specified by "-^n[ame]" will be excluded from 
  205.     the selection.  As with the "-n[ame]" list,  the filenames in  the 
  206.     "-^name"  list  may contain the PC/MS-DOS wild card characters and 
  207.     the two special forms,  "-^n[ame] -" and "-^n[ame] @pathname"  are 
  208.     provided for the "-^n[ame]" list with the same meanings as for the 
  209.     "-n[ame]" list.  
  210.  
  211. -f[name] pathname ...
  212.     Any file in the searched hierarchy whose full pathname matches one 
  213.     of  the  pathnames  specified  in  the  "-fn[ame]"  list  will  be 
  214.     selected.  the pathnames in the "-fn[ame]" list may be absolute or 
  215.     relative  pathnames  and  may  contain  the  PC/MS-DOS  wild  card 
  216.     characters in their  filename  portion.  The  two  special  forms, 
  217.     "-fn[ame] -"   and   "-fname @filename"   are   provided  for  the 
  218.     "-fn[ame]" list with the same meanings as before.  
  219.  
  220. -^fn[ame]  pathname ...
  221.     Any file in the searched hierarchy whose full pathname matches one 
  222.     of the pathnames in the "-^fn[ame]" list will be excluded from the 
  223.     selection.  As for the  "-fn[ame]"  list,  the  pathnames  in  the 
  224.     "-^fname" list may be either absolute or relattive pathnames.  The 
  225.     two  special  forms,  "-^fn[ame]  -" and "-^fn[ame] @filename" are 
  226.     provided for the  "-^fn[ame]"  list  with  the  same  meanings  as 
  227.     before.  
  228.  
  229. -attr attributes
  230.     Any  file in the searched hierarchies whose attributes match those 
  231.     specified will be selected.  The attributes that may be  specified 
  232.     are: "S" for System files, "R" for Read-Only files, "H" for Hidden 
  233.     files,  "A"  for  files  with the "Archive" attribute ON,  "D" for 
  234.     Directories, and "V" for Volume label.  For example: 
  235.  
  236.     NUFIND -attr shr
  237.  
  238.     would list all files in the hierarchy,  starting with the  current 
  239.     directory,  that have either the "System" attribute,  the "Hidden" 
  240.     attribute, or the "Read-Only" attribute.  
  241.  
  242. -^attr attributes
  243.     Any file in the searched hierarchies that does not have one of the 
  244.     specified attributes would be listed.  For example: 
  245.  
  246.     NUFIND -^attr a
  247.  
  248.     would list all files in the hierarchy,  starting with the  current 
  249.     directory, whose "Archive" attribute was OFF.  
  250.  
  251. -si [date]
  252.     Any file in the searched hierarchies whose date is greater than or 
  253.     equal  to  the  specified  date  would  be  listed.  If no date is 
  254.     specified,  the "current" date from PC/MS-DOS will  be  used.  The 
  255.     date  may  be  entered  in  any  of  several  forms:   "mm/dd/yy", 
  256.     "yy/mm/dd", "mmddyy",  "yymmdd",  "mm-dd-yy",  or "yy-mm-dd".  The 
  257.     year  may  be  either  the  2-digit form or the 4-digit form.  For 
  258.     example: 
  259.  
  260.     NUFIND -si
  261.  
  262.     would list all files in the hierarchy,  starting with the  current 
  263.     directory, that have been created or modified "today".  
  264.  
  265.     Unix  maintains  three dates for a file,  the "changed" date,  the 
  266.     "modified" date,  and the "accessed" date.  When NUFIND is  ported 
  267.     to  Unix,  the  "-si"  option  will  be expanded to three options: 
  268.     "-sia", "-sic", and "-sim" to cover the three possible dates.  
  269.  
  270. -be [date]
  271.     Any file in the searched hierarchies whose date is less  than  the 
  272.     specified  date  would  be  listed.  As  for "-si",  if no date is 
  273.     specified,  the "current" date from PC/MS-DOS will  be  used.  The 
  274.     date  may  be  entered  in any of the forms supported by the "-si" 
  275.     option.  For example: 
  276.  
  277.     NUFIND \ -be 01/01/88
  278.  
  279.     would list all files on the current disk that were created or last 
  280.     modified prior to January 1, 1988.  
  281.  
  282.     The "-si" and "-be" options can be used together.  For example: 
  283.  
  284.     NUFIND \ -si 01/01/88 -be 01/01/89
  285.  
  286.     would select all files on the current disk that  were  created  or 
  287.     modified in the year 1988.  
  288.  
  289. -size [-]size_in_bytes
  290.     Any  file  in  the searched hierarchies whose size,  in bytes,  is 
  291.     greater than or equal to the specified size would  be  listed.  If 
  292.     the  specified  size  is  negative,   any  file  in  the  searched 
  293.     hierarchies whose size in bytes is  less  than  or  equal  to  the 
  294.     specified size would be selected.  For example: 
  295.  
  296.     NUFIND -size 1000
  297.  
  298.     would  list all files in the hierarchy,  starting with the current 
  299.     directory, that were 1,000 bytes or larger, and: 
  300.  
  301.     NUFIND \ -size -1000
  302.  
  303.     would list all files on the current disk that were 1,000 bytes  or 
  304.     smaller.  
  305.  
  306.     NUFIND cde: -size 1000000
  307.  
  308.     would  list  all  files on drives C,  D,  and E that were 1 meg or 
  309.     larger.  
  310.  
  311.  
  312. -lt path_name
  313.     Any file in the  searched  hierarchies  whose  Date/Time  is  less 
  314.     (earlier) than that of the specified file would be listed.  
  315.  
  316. -le path_name
  317.     Any  file in the searched hierarchies whose Date/Time is less than 
  318.     (earlier) or  equal  to  that  of  the  specified  file  would  be 
  319.     selected.  
  320.  
  321. -gt path_name
  322.     Any  file  in  the searched hierarchies whose Date/Time is greater 
  323.     (later) than that of the specified file would be selected.  
  324.  
  325. -ge path_name
  326.     Any file in the searched hierarchies whose  Date/Time  is  greater 
  327.     (later) or equal to that of the specified file would be selected.  
  328.  
  329.     I have not found much use for the "-lt",  "-le",  "-gt",  or "-ge" 
  330.     options.  The "-gt" could be  used  with  a  backup  program  that 
  331.     maintained  as  disk  log  and  would accept files to back up from 
  332.     standard input,  such as the Unix cpio command  or  Raoul  Dehsi's 
  333.     ZOO.  For example: 
  334.  
  335.     NUFIND \ -gt \backup.zoo | zoo aI \backup.zoo
  336.  
  337.     would  add  all  files  that had been create or modified since the 
  338.     last "backup" to the file, "backup.zoo".  Unfortunately, I know of 
  339.     no PC/MS-DOS backup program that accepts  a  list  of  files  from 
  340.     standard input.  
  341.  
  342. -ltdate path_name
  343.     Any  file  if  the  searched hierarchies whose Date (Time would be 
  344.     ignored) was less (earlier) than that of the specified file  would 
  345.     be selected.  
  346.  
  347. -ledate path_name
  348.     Any  file  in  the  searched hierarchies whose Date (Time would be 
  349.     ignored) was less (earlier) than or equal to that of the specified 
  350.     file would be selected.  
  351.  
  352. -gtdate path_name
  353.     Any file in the searched hierarchies whose  Date  (Time  would  be 
  354.     ignored) was greater (later) than that of the specified file would 
  355.     be selected.  
  356.  
  357. -gedate path_name
  358.     Any  file  in  the  searched hierarchies whose Date (Time would be 
  359.     ignored) was  greater  (later)  than  or  equal  to  that  of  the 
  360.     specified file would be selected.  
  361.  
  362.     I have found no real use for "-ltdate", "-ledate",  "-gtdate",  or 
  363.     "-.gedate".  
  364.  
  365. -exist directory_path_name
  366.     Any  file  in  the searched hierarchies would be selected if there 
  367.     was a file in the specified  directory  with  the  same  name  and 
  368.     extension.  
  369.  
  370. -^exist directory_path_name
  371.     Any  file  in  the  searched hierarchies would be selected only if 
  372.     there was no file in the specified directory with  the  same  name 
  373.     and extension.  
  374.  
  375. -comp directory_path_name
  376.     Any  file  in  the searched hierarchies would be selected if there 
  377.     was a file in the specified  directory  with  the  same  name  and 
  378.     extension  and  the  sizes and the Date/Time of the two files were 
  379.     the same.  
  380.  
  381. -^comp directory_path_name
  382.     Any file in the searched hierarchies would  be  selected  only  if 
  383.     there was a file in the specified directory with the same name and 
  384.     extension and the files had different sizes or Date/Times.  
  385.  
  386.  
  387. ACTIONS:
  388.  
  389. NUFIND   provides   a   number  of  "actions"  that  can  be  applied, 
  390. individually or in combinations,  to each of the files that  meet  the 
  391. above  selection  criteria.  The  default  action is to print the full 
  392. path name,  including disk specifier,  to standard  output.  The  Unix 
  393. FIND  prints  the relative path name,  however,  on PC/MS-DOS,  I have 
  394. found the full path name  to  be  more  useful.  NUFIND  provides  and 
  395. option,  "-re",  that  will  cause it to print the relative path names 
  396. instead of the full path  names  for  those  few  instances  were  the 
  397. relative path name is more useful.  
  398.  
  399. -p
  400.     Although  the default action is to print the names of the selected 
  401.     files, if any other action is specified,  the printing of the file 
  402.     names will be suppressed unless the "-p" option is also specified.  
  403.  
  404. -re
  405.     Causes  NUFIND  to  print  the relative path names of the selected 
  406.     files instead of the full path name.  
  407.  
  408. -s
  409.     Suppresses all printing from NUFIND.  "-s" and any  of  the  other 
  410.     actions that cause or effect printing are incompatible.  
  411.  
  412. -sum
  413.     Causes  NUFIND  to  print out the sum of the sizes of all selected 
  414.     files.  For example: 
  415.  
  416.     NUFIND \ -n *.arc -sum
  417.  
  418.     would list all files on the  current  disk  that  have  the  "ARC" 
  419.     extension and would show the total of the sizes of all such files.  
  420.  
  421. -ls
  422.     Causes NUFIND to list the attributes,  size,  Date/Time,  and full 
  423.     path name of each selected file in a form similar to that  of  the 
  424.     Unix ls command.  For example, on my C: drive, the command: 
  425.  
  426.     NUFIND C:\TC\NUFIND -ls
  427.  
  428.     produces the following listing:
  429.  
  430.     -d---w                  14-Nov-88  4:44 c:\tc\nufind\arc
  431.     a----w           22,539 24-Sep-88 12:04 c:\tc\nufind\ufind.doc
  432.     a----w            5,442  7-Nov-88  4:50 c:\tc\nufind\find.man
  433.     a----w              348 13-Nov-88  4:20 c:\tc\nufind\queue.h
  434.     a----w              583 14-Nov-88  4:42 c:\tc\nufind\makefile
  435.     a----w               62 14-Nov-88  4:42 c:\tc\nufind\nufind.prj
  436.     a----w              991 24-Nov-88  4:21 c:\tc\nufind\isdev.c
  437.     a----w            1,145 24-Nov-88  4:21 c:\tc\nufind\queue.c
  438.     a----w            1,106 24-Nov-88  4:21 c:\tc\nufind\getcurd.c
  439.     a----w            3,833 24-Nov-88  4:21 c:\tc\nufind\fullpath.c
  440.     a----w              407 24-Nov-88  4:22 c:\tc\nufind\nufind.h
  441.     a----w            3,231 26-Nov-88  4:25 c:\tc\nufind\copy.c
  442.     a----w            1,690 31-Dec-88  4:41 c:\tc\nufind\tcconfig.tc
  443.     a----w            1,196 31-Dec-88  4:45 c:\tc\nufind\tcpick.tcp
  444.     a----w            9,501 31-Dec-88  5:34 c:\tc\nufind\nufind.c
  445.     a----w            7,669 31-Dec-88  5:38 c:\tc\nufind\select.c
  446.     a----w           17,816 31-Dec-88  5:39 c:\tc\nufind\getargs.c
  447.     a----w           25,548 31-Dec-88  5:39 c:\tc\nufind\nufind.exe
  448.     a----w               74 31-Dec-88  5:40 c:\tc\nufind\makezoo.bat
  449.     a----w            1,373 31-Dec-88  6:46 c:\tc\nufind\args
  450.     a----w           16,046  1-Jan-89  5:19 c:\tc\nufind\nufind.doc
  451.     a----w           48,524 31-Dec-88  5:40 c:\tc\nufind\arc\nufind01.zoo
  452.  
  453.     I  believe  that the fields,  with the exception of the attributes 
  454.     field,  are self-explanatory.  The attributes field has a position 
  455.     for each of the seven possible PC/MS-DOS attributes: 
  456.  
  457.     advshw
  458.  
  459.     where  "a" indicates that the "Archive" attribute is ON.  A "-" in 
  460.     this position would indicate that the "Archive" attribute is  OFF.  
  461.     The  "d"  indicates  a directory.  This position will be a "-" for 
  462.     files or volume labels.  The "v" indicates a  volume  label.  This 
  463.     position  will  be  a  "-"  for  files  and  directories.  The "s" 
  464.     indicates that the  "System"  attribute  is  ON.  A  "-"  in  this 
  465.     position  would indicate that the "System" attribute was OFF.  The 
  466.     "h" indicates that the "Hidden" attribute is ON.  A  "-"  in  this 
  467.     position  would  indicate  that  the  "Hidden"  attribute was OFF.  
  468.     Finally,  the "w" indicates that the file can be written,  i.e the 
  469.     "Read-Only"  attribute  is  OFF.  A  "-"  in  this  position would 
  470.     indicate that the file was "Read-Only".  
  471.  
  472. -ld
  473.     This action is the same as "-ls" except that  the  Date  field  is 
  474.     printed  in  format compatible with machine sorting.  For example, 
  475.     the prior command except with "-ld" instead of "-ls" would produce 
  476.     the following listing: 
  477.  
  478.     -d---w                  88-11-14  4:44 c:\tc\nufind\arc
  479.     a----w           22,539 88-09-24 12:04 c:\tc\nufind\ufind.doc
  480.     a----w            5,442 88-11-07  4:50 c:\tc\nufind\find.man
  481.     a----w              348 88-11-13  4:20 c:\tc\nufind\queue.h
  482.     a----w              583 88-11-14  4:42 c:\tc\nufind\makefile
  483.     a----w               62 88-11-14  4:42 c:\tc\nufind\nufind.prj
  484.     a----w              991 88-11-24  4:21 c:\tc\nufind\isdev.c
  485.     a----w            1,145 88-11-24  4:21 c:\tc\nufind\queue.c
  486.     a----w            1,106 88-11-24  4:21 c:\tc\nufind\getcurd.c
  487.     a----w            3,833 88-11-24  4:21 c:\tc\nufind\fullpath.c
  488.     a----w              407 88-11-24  4:22 c:\tc\nufind\nufind.h
  489.     a----w            3,231 88-11-26  4:25 c:\tc\nufind\copy.c
  490.     a----w            1,690 88-12-31  4:41 c:\tc\nufind\tcconfig.tc
  491.     a----w            1,196 88-12-31  4:45 c:\tc\nufind\tcpick.tcp
  492.     a----w            9,501 88-12-31  5:34 c:\tc\nufind\nufind.c
  493.     a----w            7,669 88-12-31  5:38 c:\tc\nufind\select.c
  494.     a----w           17,816 88-12-31  5:39 c:\tc\nufind\getargs.c
  495.     a----w           25,548 88-12-31  5:39 c:\tc\nufind\nufind.exe
  496.     a----w               74 88-12-31  5:40 c:\tc\nufind\makezoo.bat
  497.     a----w            1,373 88-12-31  6:46 c:\tc\nufind\args
  498.     a----w           18,862 89-01-01  5:35 c:\tc\nufind\nufind.doc
  499.     a----w            1,400 89-01-01  5:20 c:\tc\nufind\notes
  500.     a----w           48,524 88-12-31  5:40 c:\tc\nufind\arc\nufind01.zoo
  501.  
  502. -nr
  503.     By  default,   NUFIND  searches  each  of  the   specified   paths 
  504.     recursively  until  it  finds  no more directories.  The "-nr" (No 
  505.     Recursion) option inhibits this recursive search.  For example: 
  506.  
  507.     NUFIND \
  508.  
  509.     would list all  of  the  files  and  directories  in  all  of  the 
  510.     directories on the current disk where: 
  511.  
  512.     NUFIND \ -nr
  513.  
  514.     would list only the files and directories in the root.  
  515.  
  516. -rm
  517.     This option removes (deletes) the selected files, for example: 
  518.  
  519.     NUFIND cde: -n *.bak *.tmp *.err -rm
  520.  
  521.     would delete all files with a "BAK", a "TMP", or a "ERR" extension 
  522.     on disks C, D, and E.  
  523.  
  524.     Normally,   NUFIND   will  NOT  delete  a  file  with  "Read-Only" 
  525.     attributes,  however,  there is an option that will  cause  it  to 
  526.     remove such files also, "-rma" for "remove all" 
  527.  
  528.  
  529. -rmdir
  530.     This option removes (deletes) directories.  For example:
  531.  
  532.     NUFIND \trash -rm -rmdir
  533.  
  534.     would  delete the directory,  "TRASH",  (assuming that "TRASH" was 
  535.     not the "current" directory) and all subordinate  directories  and 
  536.     files.  I have a CED synonym on my system called "KILL" that is: 
  537.  
  538.     SYN KILL NUFIND %1 -rm -rmdir
  539.  
  540.     that I use to remove directories.  
  541.  
  542. -kill
  543.     This  option is short hand for "-rm "-rmdir".  It will removes all 
  544.     files and subordinate directories  in  the  source  directory.  It 
  545.     eliminates  the  need  for  a  "KILL" CED synonym.  This is a VERY 
  546.     dangerous operation!!  
  547.  
  548. -attr+ attribute(s)
  549.     This option turns ON the specified attribute(s) for  all  selected 
  550.     items.  For example: 
  551.  
  552.     NUFIND \ -n *.arc -attr+ h
  553.  
  554.     would  make all files with the "ARC" extension on the current disk 
  555.     "Hidden".  
  556.  
  557. -attr- attribute(s)
  558.     This option turns OFF the specified attribute(s) for all  selected 
  559.     items.  For example: 
  560.  
  561.     NUFIND \ -n *.exe *.com -attr- w
  562.  
  563.     would make all EXE and COM files on the current disk "Read-Only".  
  564.  
  565. -cp directory_path_name
  566.     This  option  causes  all  selected  files  to  be  copied  to the 
  567.     specified directory.  If the destination directory does not exist, 
  568.     NUFIND will create it.  If a file with the same name as a file  to 
  569.     copied  already  exists in the destination directory,  NUFIND will 
  570.     warn the user and present the options of overwriting the  existing 
  571.     file  or skipping the copy of that file.  Without the '-t' option, 
  572.     '-cp' will not create subordinate directories in  the  destination 
  573.     directory,  all  files  from all directories in the source will be 
  574.     copied to the single level destination  directory.  The  Date/Time  |
  575.     of  the  copied  files  will be "today" and the time at which they  |
  576.     were copied.                                                        |
  577.  
  578. -cpo directory_path_name                                                |
  579.     This option is the same as '-cp'  above  except  that  the  copied  |
  580.     files will have the same Date/Time as the originals.                |
  581.  
  582. -ct directory_path_name
  583.     This  option  is  short  hand for "-t -cp".  It will copy the tree 
  584.     structure, including all subordinate directories,  from the source 
  585.     directory to the destination directory.  As with the '-cp' option,  |
  586.     the  copied files will have a Date/Time of "today" and the time at  |
  587.     which they were copied.                                             |
  588.  
  589. -cto directory_path_name                                                |
  590.     This  option  is  the  same  as '-ct' above except that the copied  |
  591.     files will have the same Date/Time as the originals.                |
  592.  
  593. -mv directory_path_name
  594.     This option causes  all  selected  items  to  be  "moved"  to  the 
  595.     specified  directory.  If the destination directory is on the same 
  596.     disk as the source,  only the entries in the directories are move, 
  597.     not  the full content.  If the destination directory is NOT on the 
  598.     same disk as the source,  the files are copied and the source file 
  599.     is  deleted.  The  "-mv"  action  will also create the destination 
  600.     directory if necessary and handles  potential  overwrites  in  the 
  601.     same  fashion  as the "-cp" action.  Like the "-cp" option,  "-mv" 
  602.     does  not  create  subordinate  directories  in  the   destination 
  603.     directory.  Unlike the '-cp' option,  files "moved" with the '-mv'  |
  604.     retain their original Date/Time.                                    |
  605.  
  606. -mt directory_path_name
  607.     This option is short hand for "-t -mv".  It will move  the  source 
  608.     tree  structure,  including  all  subordinate directories,  to the 
  609.     destination directory.  Like the '-mv' option,  files "moved" with  |
  610.     the '-mt' option retain their original Date/Time.                   |
  611.  
  612. -t
  613.     This  option  affects the "-cp" and "-mv" actions only.  Normally, 
  614.     when a file is moved or copied by NUFIND,  only the file name  and 
  615.     extension are abstracted from the source path name and appended to 
  616.     the  destination  directory to create the new file path name.  For 
  617.     example, if the following command were issued: 
  618.  
  619.     NUFIND \tc -cp \turboc
  620.  
  621.     and there was a file, say, \tc\arc\nufind.arc,  it would be copied 
  622.     to  \turboc\nufind.arc.  The  "-t"  option modifies this action so 
  623.     that the path name, relative to the source directory,  is appended 
  624.     to  the  destination  directory to form the new path name.  In the 
  625.     prior example, if the command were: 
  626.  
  627.     NUFIND \tc -cp \turboc -t
  628.  
  629.     the    file,     \tc\arc\nufind.arc    would    be    copied    to 
  630.     \turboc\arc\nufind.arc.  Both  the  "-cp"  and  "-mv" actions will 
  631.     create any necessary directories in the destination.  
  632.  
  633.     The options "-ct" and "-mt" are short hand options  for  "-t  -cp" 
  634.     and "-t -mv" respectively.  
  635.  
  636.